package cn.wsalix.login.vo;

import lombok.Data;
import lombok.EqualsAndHashCode;
import cn.anlaser.vo.BaseVO;

import com.thoughtworks.xstream.annotations.XStreamAlias;

/**
 * @author jskyme https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1
 */
@XStreamAlias("xml") 
@Data
@EqualsAndHashCode(callSuper = false)
public class WxPayVO extends BaseVO {
	/**
	 * 
	 */
	private static final long serialVersionUID = -4375149834378596781L;
	/*
	 * 应用ID appid 是 String(32) wxd678efh567hg6787 微信开放平台审核通过的应用APPID 商户号 mch_id
	 * 是 String(32) 1230000109 微信支付分配的商户号 设备号 device_info 否 String(32)
	 * 013467007045764 终端设备号(门店号或收银设备ID)，默认请传"WEB" 随机字符串 nonce_str 是 String(32)
	 * 5K8264ILTKCH16CQ2502SI8ZNMTM67VS 随机字符串，不长于32位。推荐随机数生成算法 签名 sign 是
	 * String(32) C380BEC2BFD727A4B6845133519F3AD6 签名，详见签名生成算法 商品描述 body 是
	 * String(128) Ipad mini 16G 白色 商品或支付单简要描述 商品详情 detail 否 String(8192) Ipad
	 * mini 16G 白色 商品名称明细列表 附加数据 attach 否 String(127) 深圳分店
	 * 附加数据，在查询API和支付通知中原样返回，该字段主要用于商户携带订单的自定义数据 商户订单号 out_trade_no 是 String(32)
	 * 20150806125346 商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号 货币类型 fee_type 否
	 * String(16) CNY 符合ISO 4217标准的三位字母代码，默认人民币：CNY，其他值列表详见货币类型 总金额 total_fee 是
	 * Int 888 订单总金额，单位为分，详见支付金额 终端IP spbill_create_ip 是 String(16)
	 * 123.12.12.123 用户端实际ip 交易起始时间 time_start 否 String(14) 20091225091010
	 * 订单生成时间，格式为yyyyMMddHHmmss，如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则
	 * 交易结束时间 time_expire 否 String(14) 20091227091010
	 * 订单失效时间，格式为yyyyMMddHHmmss，如2009年12月27日9点10分10秒表示为20091227091010。其他详见时间规则
	 * 注意：最短失效时间间隔必须大于5分钟 商品标记 goods_tag 否 String(32) WXG
	 * 商品标记，代金券或立减优惠功能的参数，说明详见代金券或立减优惠 通知地址 notify_url 是 String(256)
	 * http://www.weixin.qq.com/wxpay/pay.php
	 * 接收微信支付异步通知回调地址，通知url必须为直接可访问的url，不能携带参数。 交易类型 trade_type 是 String(16) APP
	 * 支付类型 指定支付方式 limit_pay 否 String(32) no_credit no_credit--指定不能使用信用卡支付
	 */
	private String appid;
	@XStreamAlias("mch_id")
	private String mchId;
	private String device_info;
	@XStreamAlias("nonce_str")
	private String nonce_str;
	private String sign;
	private String body;
	private String detail;
	private String attach;
	@XStreamAlias("out_trade_no")
	private String out_trade_no;
	@XStreamAlias("fee_type")
	private String fee_type;
	@XStreamAlias("total_fee")
	private String total_fee;
	@XStreamAlias("spbill_create_ip")
	private String spbill_create_ip;
	@XStreamAlias("time_start")
	private String time_start;
	@XStreamAlias("time_expire")
	private String time_expire;
	@XStreamAlias("goods_tag")
	private String goods_tag;
	@XStreamAlias("notify_url")
	private String notify_url;
	@XStreamAlias("trade_type")
	private String trade_type;
	@XStreamAlias("limit_pay")
	private String limit_pay;
}
